<?php

/**
 * @file
 * A Hello-world AHAH. Just swaps out a markup section on submit.
 */

/**
 * This trivial form builder function just creates a box as a section on the
 * page which can be replaced when AHAH-enabled submit element fires.
 */
function ahah_example_simplest(&$form_state) {

	$form['explanation'] = array(
	 '#type' => 'markup',
	 '#value' => '<div>' . t('This is the very simplest AHAH example, which just replaces the HTML for a div on the page. Notice the more advanced examples in the other tabs.') . '</div>',
	);

  $initial_markup = '<div style="width: 150px; height: 150px; border: 1px solid black">' . t('This box will be replaced') . '</div>';

  $form['box'] = array(
    '#type' => 'markup',
    '#prefix' => '<div id="box">',
    '#suffix' => '</div>',
    '#value' => $initial_markup,
  );

  $form['submit'] = array(
    '#type' => 'submit',
    '#ahah' => array(
      'path' => 'examples/ahah_example/simplest_ahah/callback',
      'wrapper' => 'box',
    ),
    '#value' => t('Click Me to change box color'),
  );

  return $form;
}

/**
 * This callback has nothing to do with the form itself, so just returns a bit
 * of HTML that will replace the existing markup in $form['box'].
 */
function ahah_example_simplest_callback() {
  $colors = preg_split('/[ ,]+/', "aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, yellow");
  $color = $colors[array_rand($colors)];
  $output = '<div style="background-color:' . $color .
    '; width: 150px; height: 150px; border: 1px solid black;">This is ' . $color . ' box</div>';
  drupal_json(array('status' => TRUE, 'data' => $output));
  exit();
}